package com.lmaye.eshop.inventory.service;

import com.lmaye.eshop.inventory.entity.ProductInventory;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 商品库存 服务类
 * </p>
 *
 * @author Lottery
 * @since 2019-03-19
 */
public interface ProductInventoryService extends IService<ProductInventory> {
    /**
     * 更新商品库存
     *
     * @param productInventory 商品库存
     */
    void updateProductInventory(ProductInventory productInventory);

    /**
     * 删除商品库存缓存
     *
     * @param productInventory 商品库存
     */
    void removeProductInventoryCache(ProductInventory productInventory);

    /**
     * 查询商品库存
     * - 根据商品ID
     *
     * @param productId 商品ID
     * @return ProductInventory
     */
    ProductInventory selectProductInventoryByID(Integer productId);

    /**
     * 设置商品库存缓存
     *
     * @param productInventory 商品库存
     */
    void setProductInventoryCache(ProductInventory productInventory);

    /**
     * 获取商品库存缓存
     * - 根据商品ID
     *
     * @param productId 商品ID
     * @return  ProductInventory
     */
    ProductInventory getProductInventoryCache(Integer productId);
}
